package com.ruoyi.storage.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 加工单管理对象 processing_record
 * 
 * @author 庞一恺
 * @date 2025-01-11
 */
public class ProcessingRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 加工单id */
    private Long processId;



    /** 原料id */
    @Excel(name = "原料id")
    private String materialId;

    /** 仓库id */
    private Long warehouseId;

    /** 货品原料种类 */
    @Excel(name = "货品原料种类")
    private String materialKind;

    /** 货品原料数量 */
    @Excel(name = "货品原料数量")
    private Integer materialNum;

    /** 加工开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "加工开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 加工结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "加工结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 加工状态 */
    @Excel(name = "加工状态")
    private String processState;

    /** 创建者 */
    @Excel(name = "创建者")
    private String generatedBy;

    /** 加工说明 */
    @Excel(name = "加工说明")
    private String processDescription;

    /** 原产地 */
    @Excel(name = "原产地")
    private String origin;

    /** 加工详情信息 */
    private List<ProcessingDetail> processingDetailList;

    /** 原料信息 */
    private List<String> materialList;

    public void setProcessId(Long processId) 
    {
        this.processId = processId;
    }

    public Long getProcessId() 
    {
        return processId;
    }

    public void setMaterialId(String materialId) 
    {
        this.materialId = materialId;
    }

    public String getMaterialId() 
    {
        return materialId;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setMaterialKind(String materialKind) 
    {
        this.materialKind = materialKind;
    }

    public String getMaterialKind() 
    {
        return materialKind;
    }
    public void setMaterialNum(Integer materialNum)
    {
        this.materialNum = materialNum;
    }

    public Integer getMaterialNum()
    {
        return materialNum;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setProcessState(String processState) 
    {
        this.processState = processState;
    }

    public String getProcessState() 
    {
        return processState;
    }
    public void setGeneratedBy(String generatedBy) 
    {
        this.generatedBy = generatedBy;
    }

    public String getGeneratedBy() 
    {
        return generatedBy;
    }

    public List<ProcessingDetail> getProcessingDetailList()
    {
        return processingDetailList;
    }

    public void setProcessingDetailList(List<ProcessingDetail> processingDetailList)
    {
        this.processingDetailList = processingDetailList;
    }

    public String getProcessDescription() {
        return processDescription;
    }

    public void setProcessDescription(String processDescription) {
        this.processDescription = processDescription;
    }

    public List<String> getMaterialList() {
        return materialList;
    }

    public void setMaterialList(List<String> materialList) {
        this.materialList = materialList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("processId", getProcessId())
            .append("materialId", getMaterialId())
            .append("warehouseId", getWarehouseId())
            .append("materialKind", getMaterialKind())
            .append("materialNum", getMaterialNum())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("processState", getProcessState())
            .append("generatedBy", getGeneratedBy())
            .append("processingDetailList", getProcessingDetailList())

            .append("processDescription", getProcessDescription())
            .toString();
    }


    public String getOrigin() {
        return origin;
    }

    public void setOrigin(String origin) {
        this.origin = origin;
    }
}
